from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
import os
from dotenv import load_dotenv

# 加载环境变量
load_dotenv()

app = FastAPI(
    title="AI前端项目生成系统 API",
    description="一个用于一键生成前端项目骨架的API服务。",
    version="0.1.0",
)

# --- CORS 中间件配置 ---
# 从环境变量中获取允许的源，如果没有则使用默认值
allowed_origins_str = os.getenv("ALLOWED_ORIGINS", "http://localhost:3000")
origins = [origin.strip() for origin in allowed_origins_str.split(',')]

app.add_middleware(
    CORSMiddleware,
    allow_origins=origins,  # 允许访问的源
    allow_credentials=True, # 是否支持 cookie
    allow_methods=["*"],    # 允许所有方法
    allow_headers=["*"],    # 允许所有头
)


@app.get("/", tags=["Root"])
async def read_root():
    """
    根路径，返回一个欢迎信息。
    """
    return {"message": "欢迎使用AI前端项目生成系统 API"}

# 在这里引入 API 路由
from .api.endpoints import project
app.include_router(project.router, prefix="/api/v1", tags=["Project Generation"])
from .api.endpoints import analyze
app.include_router(analyze.router, prefix="/api/v1", tags=["Analysis"])
from .api.endpoints import config_store
app.include_router(config_store.router, prefix="/api/v1", tags=["Config Store"])
from .api.endpoints import settings
app.include_router(settings.router, prefix="/api/v1", tags=["Settings"])
